home *** CD-ROM | disk | FTP | other *** search
- Run-Time License
- o A Run-Time License is required to distribute compiled code. The
- License is provided for the current release and its minor updates.
- The license fee is $10. It covers all code compiled by the
- licensed release of the compiler, and can be requested from Dineen
- Edwards Group by phone or mail.
-
- To set up the REXX PLUS environment:
-
- o Install AREXX.
- o double click on the RPInstall Icon.
- + Copies rexxplslib.library to your LIBS: volume
- + Copies Commands to your c: volume
- + Creates a RPDir: directory for compiled programs
- + Copies "rp" libraries to LIBS: directory
- + Adds Assign, Path, and RPStart to startup-sequence
- + Issues RPStart to start REXX PLUS environment
- + Replaces HI with RPHI
-
- o Compile programs by double clicking on RexxPlus Icon or running
- rexxplus
- + RexxPlusPublic/Examples/RexxCompAll.rexx will compile
- and link all the files in a directory. (it is also an
- example of REXX coding)
- + New autolink feature eliminates link step, and places the
- executable in RPDir:.Add option -MA to RexxPlus invocations
- within compile scripts so that the auto link is not
- performed, or eliminate BLINK invocation from compile
- scripts.
- o Start RPControl by issuing RPStart if not in startup
- o Execute the compiled program by entering the program name on the
- CLI or by typing RX program_name.
- o To halt execution of a program use RPhi and not hi. (this is a
- replacement program that will halt both ARexx and REXX PLUS programs).
-
- Install ARexx:
-
- Purchase a copy of ARexx and follow the instructions in the documentation
- to install the product. ARexx is required to run compiled programs.
-
- Install REXX PLUS:
-
- Copy rexxplslib.library
-
- The RexxPlsLib.library is used to hook the RexxSysLib.library provided by
- ARexx. The Library is placed in the LIBS: volume so it may be found by the
- OpenLibrary function when compiled programs are executed.
-
- Create RPDir: directory/volume
-
- The RPDIR volume is used to contain any compiled programs. This directory
- serves the same function as the REXX: volume for the ARexx product. When
- rx is issued or a program is issued as a macro this volume is searched
- for the program to be executed. Create a directory with the command
- MAKEDIR SYS:RPDIR. Once the directory is created issue the command
- ASSIGN RPDir: SYS:RPDIR to create the volume needed.
-
- Compile Program
-
- Run the program rexxplus with the correct compiler options as documented in
- the Options Chapter.
-
- Run RPStart
-
- Run RPStart to start the run time hooks into the ARexx environment. This
- will allow programs to be invoked as macros from other programs and to
- run the compiled programs with the program rx provided with ARexx.
-
- Run the program
-
- Run the program by either typing in the program name on the CLI or by
- running RX with the parameter of the program name.
-
- Current restrictions/bugs:
- o functions/statements not implemented
- + INTERPRET (statement)
- + TRACE (statement/function does not display
- source)
- + SOURCELINE (function (returns null string))
- + VALUE (function does not return values of
- unreferenced symbols)
- Fixes / Revisions
-
- ---------------------------------- 1.28 ------------------------------------
- o Added "RP" library for RexxUtil.library
- o Added "RP" library for RexxSerDev.library
- o Added "RP" library for RexxHS
- o Added "RP" library for RexxExtra.library
- o Added "RP" library for RX_Intui.library release 0.3
- o Added code to support the trace console for program tracing
- o Added support for CACHE, NO CACHE, and NO RESULTS
- o Made file Pattern for Intuition Interface to use stem of last file
- name entered
- o Fixed Host SYNTAX error recognition
- o Fixed RPControl startup from compiled program when rexxmast is
- not in the "C:" volume
- o Fixed initial path for WorkBench invoked programs
- o Fixed guru caused by entering too many libraries or user-builtins
- from the intuition interface
- o Fixed trace options entered from both +T, the trace command, and
- the trace function call
- o Fixed Intuition Interface button control of built-in functions
- (menu item toggled wrong button/button toggled wrong menu item)
- o Fixed procedure labels containing periods
- o Fixed return code from programs generating error messages
- o Made source change to match zap for external library support
- o Made source change to match zap for READCH and READLN bugs
- o Made source change to match zap for COMPRESS bug
- o Made source change to match zap for Video Toaster guru
-
- ---------------------------------- 1.27 ------------------------------------
- o Added "RP" library for quicksort
- o Added better logic for installing "rp" libraries
- o Added support in "rp" library for new release of apig.library
- o Fixed FastBench ICON invocation of REXX PLUS Compiled programs
- o Fixed last line missing in source listing
- o Fixed some error message line and column numbers
- o Fixed corrupted storage that caused periodic gurus
- o Fixed ADDRESS() as stand alone statement
- o Fixed error with READCH when reading the SER: device.
-
- ---------------------------------- 1.26 ------------------------------------
- o Allow comment to be on second line of source
- o Fixed guru with free twice
- o Fixed RVI for simple symbols
- o Fixed PARSE template handling to match 1.15 of interpreter
- o Fixed Errors generated when more than one END is missing
- o Fixed Errors generated with the -VE option
- o Fixed extra characters after hunk name when more than one program
- is compiled using the Intuition interface.
- o Fixed error with READCH when reading the SER: device.
- o Fixed functions POS() and INDEX() to work correctly with
- the start location.
-
- ---------------------------------- 1.25 ------------------------------------
- o Added automatic link options
- + "+MA" causes blink to be invoked automatically
- (default +MA, if you use a script that contains
- a BLINK invocation, set -MA).
- + "+MR" causes a blink to be executed even if load
- module is already present
- (default -MR, blink invoked if module not present).
- + "+MW" causes a workbench Icon to be created
- (default +MW, Icon created only if +MA specified).
- + "+ML linker" overrides linker name of BLINK.
- + "+ME executable_dir" directory for executable.
- + "+MO object_lib" object library name.
- o Changed Intuition interface to conform better with AmigaDOS 2.0
- standards.
- o Added auto "NEW" for string gadgets, when new source file name
- is entered.
- o Created "SMALL" Icons for user install.
- o Added tool type "CONSOLE" to RPStart, so ICon and program can
- be placed in WBStartup directory for automatic invocation.
- o Added Video Toaster "rp" libraries.
- + "rptoasterarexx.port.library" for "Switcher".
- + "rpgenloc rexx port.library" for "Genlock".
- o Added assembler program for calling compile programs from "C".
- + "RexxStub.a68" (source)
- + "RexxStub.o" (object)
- o Added messages:
- + RXERR304-I:: Explanation point is not the logical not
- sign for REXX.
- + RXERR312-W:: Executable already present, LINK bypassed.
- + RXERR313-W:: Compiler did not create 'object'.
- + RXERR314-W:: Can not write to 'load_module'.
- + RXERR315-W:: Linker failed to create 'load_module'.
- o Added omitted code to support UPPER command.
- o Fixed bug with ARGS= tooltype for compiled programs.
- o Fixed line number and column number for error message RXERR290.
- o Fixed bug with DATE('N',date), which did not use the alternate
- date.
- o Fixed bug with corrupt window pointer, when executed under WShell.
- o Fixed trapped guru, when control C issued during rexxplus start-up
- code.
- o Fixed bug with "rp" libraries that caused some functions to not
- be found. This bug also made REXX PLUS programs require the
- support library (specified on the +UL compiler option) on the
- ARexx Library list.
- o Fixed bug with RANDOM(1,10). It returned only odd numbers.
- o Fixed guru/loop with compiler and executable, caused by invalid
- data in a Hex string.
- o Fixed bug with PROCEDURE (without EXPOSE list) which caused a
- jump to the prior PROCEDURE (with an EXPOSE list).
- o Fixed free twice error with Video Toaster.
- o Changed RVI for undefined symbols to return null pointer
- for value of symbol.
- o Fixed DATE('B') to work correctly with leap years before February
- 28.
- o Fixed bug with parse of SIGNAL label:.
- o Fixed error generation for nested END statements.
- o Fixed logical not comparisons when they are coded with intervening
- spaces (~ =, ~ = =, ~ ==, ~ <, ~ >).
- o Fixed exact comparisons to check the length correctly before doing
- the compare.
- o Changed code to allow ARG as a symbol in an assignment clause.
-
- ---------------------------------- 1.24 ------------------------------------
- o Added search for resident modules, when program is invoked from
- a Host. Macros can now be made resident, and the resident module
- can be invoked from a Host.
- o Decreased compiler execution time.
- o Added rprx_tools.library for RX_TOOLS Host function resolution.
- o Fixed parse of abuttal type of concatenation.
- o Fixed parse of absolute position, for PARSE template.
- o Fixed lost storage caused by invoking a compiled program from a
- Host without a CLI.
- o Fixed calls to subroutines requiring a long backward branch.
- o Fixed SIGNAL ON and SIGNAL OFF in called functions/subroutines
- so control is passed back up the calling stack properly.
- o Fixed RVI support for compound symbols.
- o Fixed guru caused by using stem or compound symbols in a
- parse template.
-
- ---------------------------------- 1.23 ------------------------------------
- o Changed external library function resolution and added Host
- function resolution.
- + new "rp" libraries are used to resolve the functions.
- The libraries are the same name as the library used at
- execution-time except they are prefixed with "rp" (if
- they are function hosts they are also suffixed with
- ".library"). This is done automatically by the compiler.
- You, specify the library needed at execution-time and the
- correct library will be opened at both compile-time and
- at execution-time.
-
- Example:
- specified library:
- +UL(rexxsupport.library,0,-30,0)
- causes:
- the compiler to open rprexxsupport.library
- the executable to open rexxsupport.library
-
- specified host:
- +UL(AREXX,0,0,0)
- causes:
- the compiler to open rparexx.library
- the executable to pass the functions found
- to the AREXX host.
- Note: Enter the library or host name in the correct case,
- library lists and port lists are case sensitive.
-
- Libraries available:
- rprexxarplib.library rexxarplib.library
- rprexxdb.library REXXDB Host
- rprexxmathlib.library rexxmathlib.library
- rprexxplsextnd.library rexxplsextnd.library
- rprexxsupport.library rexxsupport.library
- rprx_intui.library rx_intui.library
-
- o Added COUNTCHARS(string1,string2) function. This function counts
- the characters found in string1 as indicated by string2.
- Examples:
- COUNTCHARS('aa,bb,cc,dd,ee','c,') = 6
- COUNTCHARS('aa,bb,cc,dd,ee',',') = 4
- COUNTCHARS('aa,bb,cc,dd,ee','c') = 2
- o Added hashing support to compound symbol table.
- + speeds up compound symbol access by 15 from prior method.
- o Added fixed block storage to speed up math and string access
- that use small blocks of storage.
- o Optimized short branches.
- o Optimized numeric conversions for function parameters and for
- numeric assigns.
- o Added Error messages
- + RXERR300-I:l:c New Line found within literal string.
- + RXERR301-I:l:c Procedure Label 'label' found within a DO or SELECT.
- + RXERR318-D:l:c Offset from first pass different than second pass.
- + RXERR341-D:l:c Symbol 'symbol' not found in symbol table.
- + RXERR342-D:l:c Symbol table request is invalid.
- + RXERR343-E:l:c No Register available for request.
- + RXERR344-I:l:c Symbol 'symbol' never assigned a value.
- + RXERR345-I:l:c Function 'function' not supported by REXX PLUS.
- o Added more diagnostic support to guru trap.
- o Added label type of trace entries to the trace support.
- o Added informational messages for literals containing new line
- characters, so user could catch strings with missing quotes.
- o Fixed host support so startup messages are returned.
- o Fixed Numeric conversion that caused some numbers to be generated
- with alpha characters.
- o Fixed function DATATYPE(N,) so numeric values containing an
- exponent would be recognized as numeric.
- o Fixed function INSERT() with parameter four omitted.
- o Fixed guru with error messages produced by intuition interface.
- o Fixed concatenation when symbols and strings are coded together
- without a blank or a concatenation sign "||".
- o Fixed function DATE(C) to return the hours with the leading zero
- suppressed.
- o Fixed RVI support for simple symbols.
- o Fixed loops that contain negative increments.
- o Fixed gurus caused by TRACE support when program contained
- compound symbols.
- ---------------------------------- 1.22 ------------------------------------
- o Added WorkBench support to compiled programs.
- + Tool type of CONSOLE is used to set the default console.
- + Tool type of ARGS is used to set the default args (when
- coded they are parsed the same as from the CLI.
- o Added tool types to Intuition interface for Compiler Options.
- + Tool type of RXCOPTS is used to set all options.
- + Tool type of BOOLS is used to set boolean options.
- + Tool type of USERS is used to set user built-in functions.
- + Tool type of LIBS is used to set libraries.
- All options can be placed in any of the tool types and are
- parsed as if they were entered from the command line.
- The order of evaluation is as listed above.
- o Added support for PRAGMA('S') which is used to set the default
- stack size for any command invocation. The returned value is the
- old default stack size.
- o Fixed bug with labels starting with a numeric or special character.
- o Changed the size of the install window.
- o Fixed error redirection for the Intuition Interface.
- o Added missing support module RXINTBOL.
- o Added test for ICON placement (in the install).
- o Fixed RANDOM() function to return the correct number of digits.
- o Fixed TRUNC() function bug (returned an error when the number
- of digits to the right of the decimal point was more than NUMERIC
- digits).
- o Fixed Host support, RPInstall, and RPStart bugs that caused GURU
- under AmigaDOS 2.04.
- o Fixed Syntax parse error caused by SELECT...OTHERWISE END.
- o Fixed bug with Storage never being freed under 2.04 when the stack
- size is less than 10,000.
- o Fixed Syntax parse error caused by IF cond THEN DO...END ELSE stmt.
- o Compiler Options Documentation errors.
- * +H controls the hunk name.
- * +FP controls the default output path name.
- * -+VE controls the informational error messages.
- * +FE controls error message redirection.
- * +FN does nothing.
-
- ---------------------------------- 1.20 ------------------------------------
- o Added LOWER function
- o Added Verbose Errors (+-VE) compiler option to disable
- informational error messages
- o Fixed iterate within DO END
-